package me.sdevil507.activemq.config;

import me.sdevil507.activemq.QueueName;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;

import javax.jms.Queue;


/**
 * ActiveMq配置
 *
 * @author sdevil507
 */
@Configuration
@EnableJms
public class ActiveMqConfig {

    /**
     * 初始化异步消息队列
     *
     * @return 异步消息队列
     */
    @Bean
    public Queue asyncQueue() {
        return new ActiveMQQueue(QueueName.ASYNC);
    }

    /**
     * 初始化同步消息队列
     *
     * @return 同步消息队列
     */
    @Bean
    public Queue syncQueue() {
        return new ActiveMQQueue(QueueName.SYNC);
    }

    /**
     * 初始化延迟消息队列
     *
     * @return 延迟消息队列
     */
    @Bean
    public Queue delayQueue() {
        return new ActiveMQQueue(QueueName.DELAY);
    }
}
